package com.jiazhong.mybatis.m1.mapper;

import com.jiazhong.commons.bean.Emp;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

// EMpDAO
public interface EmpMapper {

    List<Emp> findAll();

    Emp findById(int id);

    List<Emp> findByName(String name);

    // mybatis传递多个参数，这种写法是错误的
    List<Emp> findByNameAndJob(String name, String job);

    // 多参数传递1:封装，将多个参数封装到对象
    List<Emp> findByNameAndJob1(Emp emp);

    // 多参数传递2:将多个值存放到集合中
    List<Emp> findByNameAndJob2(Map map);

    // 多参数传递3:使用注解方式
    List<Emp> findByNameAndJob3(@Param("name") String name, @Param("job") String job);

    List<Emp> findByPage(@Param("start") int start, @Param("size") int size);


    int insert(Emp emp);

    int update(Emp emp);

    int delete(int id);

}
